package com.david.course_design.shopping_center.module.goods.goodsDescribeImgList.controller;

import com.david.course_design.shopping_center.module.goods.goodsDescribeImgList.entity.GoodsDescribeImgList;
import com.david.course_design.shopping_center.module.goods.goodsDescribeImgList.entity.vo.GoodsDescribeImgListVo;
import com.david.course_design.shopping_center.module.goods.goodsDescribeImgList.mapper.GoodsDescribeImgListMapper;
import com.david.course_design.shopping_center.result.ResultBody;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

@Controller
@ResponseBody
@Api(tags = "商品描述展示图片集合接口")
@RequestMapping("Goods/GoodsDescribeImgList/")
public class GoodsDescribeImgListController {
    // 依赖注入 dependency injection
    @Resource
    private GoodsDescribeImgListMapper goodsDescribeImgListMapper;

    @GetMapping("selectGoodsDescribeImageListByDescribeImgListId")
    @ApiOperation("通过描述图集合id 查询描述图片集合")
    private ResultBody selectGoodsDescribeImageListByDescribeImgListId(Integer id) {

        List<GoodsDescribeImgList> goodsDescribeImgLists = goodsDescribeImgListMapper.selectGoodsDescribeImageListByDescribeImgListId(id);

        List<GoodsDescribeImgListVo> goodsDescribeImgListVos = new ArrayList<>();

        // 将数据处理成标准格式（将 GoodsDescribeImgList 对象 转换为 ==> GoodsDescribeImgListVo 对象）

        //  遍历 goodsDescribeImgLists 集合
        for (int i = 0; i < goodsDescribeImgLists.size(); i++) {

            //取出 goodsDescribeImgLists 集合中的每一个元素
            GoodsDescribeImgList goodsDescribeImgList = goodsDescribeImgLists.get(i);

            //  创建 goodsDescribeImgListVo 对象 将 goodsDescribeImgList 中的 id 和 imgUrl 传入
            GoodsDescribeImgListVo goodsDescribeImgListVo = new GoodsDescribeImgListVo(goodsDescribeImgList.getId(), goodsDescribeImgList.getImgUrl());

            //  将创建的 goodsDescribeImgListVo 对象添加到 goodsDescribeImgListVos 集合中
            goodsDescribeImgListVos.add(goodsDescribeImgListVo);

        }

        //  判断 goodsDescribeImgListVos 集合是否为空
        if (goodsDescribeImgListVos != null || goodsDescribeImgListVos.size() != 0) {

            //  如果不为空 将处理好的数据返回
            return ResultBody.success(goodsDescribeImgListVos);

        } else {

            //  如果为空，提示 ==> "没有找到数据！"
            return ResultBody.error("", "没有找到数据!");

        }

    }

}
